员工管理系统功能包括:
1、添加新员工;
2、显示某一员工信息;
3、显示所有员工信息;
4、修改员工薪水;
5、删除某一员工。
代码如下:
1 /**日期:2016-03-09 2 * 功能:简单员工管理系统练习 3 * 说明:因为是作为练习,其他要学的东西还有很多,所以没有花时间来编写异常的处理 4 * 仅在主函数中处理了一个异常,其他的都做抛出异常处理 5 */ 6 package test; 7 import java.io.*; 8 import java.util.*; 9 public class ManageSystem { 10 11 public static void main(String[] args) throws IOException{ 12 // TODO Auto-generated method stub 13 14 HashMap hm=new HashMap(); 15 //让程序可以循环进行 16 while(true) 17 { 18 //功能选择 19 System.out.println("请选择要进行的操作:"); 20 System.out.println("1表示添加新员工"); 21 System.out.println("2表示显示某一员工信息"); 22 System.out.println("3表示显示所有员工信息"); 23 System.out.println("4表示修改员工薪水"); 24 System.out.println("5表示删除某一员工"); 25 System.out.println("6表示退出程序"); 26 //输入选择编号 27 InputStreamReader isr=new InputStreamReader(System.in); 28 BufferedReader br=new BufferedReader(isr); 29 int inputNum = 0; 30 //异常的处理 31 try 32 { 33 inputNum=Integer.parseInt(br.readLine()); 34 }catch(Exception e) 35 { 36 System.out.println("请输入整数1~6"); 37 e.printStackTrace(); 38 } 39 //根据输入的数字来选择对应的功能 40 switch(inputNum) 41 { 42 case 1: 43 AddClerk addClerk=new AddClerk(); 44 addClerk.add(hm); 45 break; 46 case 2: 47 ShowInfo showInfo=new ShowInfo(); 48 showInfo.show(hm); 49 break; 50 case 3: 51 ShowAll showAll=new ShowAll(); 52 showAll.show(hm); 53 break; 54 case 4: 55 ChangeSalary changeSalary=new ChangeSalary(); 56 changeSalary.change(hm); 57 break; 58 case 5: 59 DeleteClerk dc=new DeleteClerk(); 60 dc.delete(hm); 61 break; 62 case 6: 63 System.exit(0); 64 break; 65 } 66 } 67 } 68 69 } 70 71 //增加员工 72 class AddClerk 73 { 74 public void add(HashMap hm) throws IOException 75 { 76 System.out.println("请输入要添加的员工编号:"); 77 InputStreamReader isr=new InputStreamReader(System.in); 78 BufferedReader br=new BufferedReader(isr); 79 Clerk clerk=new Clerk(); 80 String temp=br.readLine(); 81 //这里作简化处理,直接将HashMap的键设置为员工的编号 82 clerk.setClerkNo(temp); 83 //然后输入姓名 84 System.out.println("请输入要添加的员工姓名:"); 85 clerk.setName(br.readLine()); 86 //最后输入薪水 87 System.out.println("请输入要添加的员工薪水:"); 88 clerk.setSalary(Integer.parseInt(br.readLine())); 89 //将设置好编号、姓名、薪水的一个Clerk添加入hm中 90 hm.put(temp,clerk); 91 System.out.println("添加成功:" 92 +((Clerk)(hm.get(temp))).getClerkNo()+"," 93 +((Clerk)(hm.get(temp))).getName()+"," 94 +((Clerk)(hm.get(temp))).getSalary()+"\n"); 95 } 96 } 97 98 //显示某一个员工的信息 99 class ShowInfo 100 { 101 public void show(HashMap hm) throws IOException 102 { 103 System.out.println("请输入要查找的员工编号:"); 104 InputStreamReader isr=new InputStreamReader(System.in); 105 BufferedReader br=new BufferedReader(isr); 106 String temp=br.readLine(); 107 //判断是否含有该员工 108 if(hm.containsKey(temp)) 109 { 110 System.out.println("该员工的信息为:" 111 +((Clerk)(hm.get(temp))).getClerkNo()+"," 112 +((Clerk)(hm.get(temp))).getName()+"," 113 +((Clerk)(hm.get(temp))).getSalary()); 114 }else 115 { 116 System.out.println("没有该员工!"); 117 } 118 System.out.println(); 119 } 120 } 121 122 //显示所有员工的信息 123 class ShowAll 124 { 125 public void show(HashMap hm) 126 { 127 //HashMap的遍历较麻烦,需要迭代器 128 Iterator it=hm.keySet().iterator(); 129 int i=1; 130 while(it.hasNext()) 131 { 132 String key=it.next().toString(); 133 Clerk clerk=(Clerk)hm.get(key); 134 System.out.println("第"+i+"个员工的信息为:" 135 +clerk.getClerkNo()+"," 136 +clerk.getName()+"," 137 +clerk.getSalary()); 138 i++; 139 } 140 System.out.println(); 141 } 142 } 143 144 //修改某一个员工的薪水 145 class ChangeSalary 146 { 147 public void change(HashMap hm) throws IOException 148 { 149 System.out.println("请输入要修改的员工编号:"); 150 InputStreamReader isr=new InputStreamReader(System.in); 151 BufferedReader br=new BufferedReader(isr); 152 String temp=br.readLine(); 153 if(hm.containsKey(temp)) 154 { 155 //先显示出该员工的薪水 156 System.out.println("该员工当前薪水为:"+((Clerk)(hm.get(temp))).getSalary()); 157 System.out.println("请输入新的薪水:"); 158 //然后输入新的薪水 159 int inputNum=Integer.parseInt(br.readLine()); 160 //将该员工的薪水设置为新输入的薪水 161 ((Clerk)(hm.get(temp))).setSalary(inputNum); 162 //输入修改后的该员工的信息 163 System.out.println("修改后员工的信息为:" 164 +((Clerk)(hm.get(temp))).getClerkNo()+"," 165 +((Clerk)(hm.get(temp))).getName()+"," 166 +((Clerk)(hm.get(temp))).getSalary()); 167 }else 168 { 169 System.out.println("没有该员工!"); 170 } 171 System.out.println(); 172 } 173 } 174 175 //删除一个员工 176 class DeleteClerk 177 { 178 public void delete(HashMap hm) throws IOException 179 { 180 System.out.println("请输入要删除的员工编号:"); 181 InputStreamReader isr=new InputStreamReader(System.in); 182 BufferedReader br=new BufferedReader(isr); 183 String temp=br.readLine(); 184 if(hm.containsKey(temp)) 185 { 186 //将该员工的Clerk对象从hm中删除 187 hm.remove(temp); 188 System.out.println("已删除该员工!"); 189 }else 190 { 191 System.out.println("没有该员工!"); 192 } 193 System.out.println(); 194 } 195 } 196 197 //创建Clerk类 198 class Clerk 199 { 200 private String clerkNo; 201 private String name; 202 private int salary; 203 204 public String getClerkNo() { 205 return clerkNo; 206 } 207 public void setClerkNo(String clerkNo) { 208 this.clerkNo = clerkNo; 209 } 210 public String getName() { 211 return name; 212 } 213 public void setName(String name) { 214 this.name = name; 215 } 216 public int getSalary() { 217 return salary; 218 } 219 public void setSalary(int salary) { 220 this.salary = salary; 221 } 222 }
运行演示结果如下:
1 请选择要进行的操作: 2 1表示添加新员工 3 2表示显示某一员工信息 4 3表示显示所有员工信息 5 4表示修改员工薪水 6 5表示删除某一员工 7 6表示退出程序 8 1 9 请输入要添加的员工编号: 10 s001 11 请输入要添加的员工姓名: 12 Mike 13 请输入要添加的员工薪水: 14 1000 15 添加成功:s001,Mike,1000 16 17 请选择要进行的操作: 18 1表示添加新员工 19 2表示显示某一员工信息 20 3表示显示所有员工信息 21 4表示修改员工薪水 22 5表示删除某一员工 23 6表示退出程序 24 1 25 请输入要添加的员工编号: 26 s002 27 请输入要添加的员工姓名: 28 Jack 29 请输入要添加的员工薪水: 30 1100 31 添加成功:s002,Jack,1100 32 33 请选择要进行的操作: 34 1表示添加新员工 35 2表示显示某一员工信息 36 3表示显示所有员工信息 37 4表示修改员工薪水 38 5表示删除某一员工 39 6表示退出程序 40 1 41 请输入要添加的员工编号: 42 s003 43 请输入要添加的员工姓名: 44 Rose 45 请输入要添加的员工薪水: 46 1200 47 添加成功:s003,Rose,1200 48 49 请选择要进行的操作: 50 1表示添加新员工 51 2表示显示某一员工信息 52 3表示显示所有员工信息 53 4表示修改员工薪水 54 5表示删除某一员工 55 6表示退出程序 56 2 57 请输入要查找的员工编号: 58 s001 59 该员工的信息为:s001,Mike,1000 60 61 请选择要进行的操作: 62 1表示添加新员工 63 2表示显示某一员工信息 64 3表示显示所有员工信息 65 4表示修改员工薪水 66 5表示删除某一员工 67 6表示退出程序 68 3 69 第1个员工的信息为:s001,Mike,1000 70 第2个员工的信息为:s002,Jack,1100 71 第3个员工的信息为:s003,Rose,1200 72 73 请选择要进行的操作: 74 1表示添加新员工 75 2表示显示某一员工信息 76 3表示显示所有员工信息 77 4表示修改员工薪水 78 5表示删除某一员工 79 6表示退出程序 80 4 81 请输入要修改的员工编号: 82 s001 83 该员工当前薪水为:1000 84 请输入新的薪水: 85 1400 86 修改后员工的信息为:s001,Mike,1400 87 88 请选择要进行的操作: 89 1表示添加新员工 90 2表示显示某一员工信息 91 3表示显示所有员工信息 92 4表示修改员工薪水 93 5表示删除某一员工 94 6表示退出程序 95 3 96 第1个员工的信息为:s001,Mike,1400 97 第2个员工的信息为:s002,Jack,1100 98 第3个员工的信息为:s003,Rose,1200 99 100 请选择要进行的操作: 101 1表示添加新员工 102 2表示显示某一员工信息 103 3表示显示所有员工信息 104 4表示修改员工薪水 105 5表示删除某一员工 106 6表示退出程序 107 5 108 请输入要删除的员工编号: 109 s001 110 已删除该员工! 111 112 请选择要进行的操作: 113 1表示添加新员工 114 2表示显示某一员工信息 115 3表示显示所有员工信息 116 4表示修改员工薪水 117 5表示删除某一员工 118 6表示退出程序 119 3 120 第1个员工的信息为:s002,Jack,1100 121 第2个员工的信息为:s003,Rose,1200 122 123 请选择要进行的操作: 124 1表示添加新员工 125 2表示显示某一员工信息 126 3表示显示所有员工信息 127 4表示修改员工薪水 128 5表示删除某一员工 129 6表示退出程序 130 6